/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Entidades;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author diego
 */
@Entity
@Table(name = "Oficina")
public class Oficina implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Basic(optional = false)
    @Column(name = "idOficina")
    private Integer idOficina;
    @Column(name = "fechaAltaOficina")
    @Temporal(TemporalType.DATE)
    private Date fechaAltaOficina;
    @Column(name = "fechaBajaOficina")
    @Temporal(TemporalType.DATE)
    private Date fechaBajaOficina;
    @Column(name = "nombreOficina")
    private String nombreOficina;
    @Column(name = "numeroOficina")
    private Integer numeroOficina;
    @Column(name = "vigente")
    private Boolean vigente;

    public Boolean getVigente() {
        return vigente;
    }

    public void setVigente(Boolean vigente) {
        this.vigente = vigente;
    }
    @JoinColumn(name = "idDomicilio", referencedColumnName = "idDomicilio")
    @ManyToOne(optional = false)
    private Domicilio idDomicilio;
    @OneToMany(mappedBy = "idOficina")
    private List<Empleado> empleadoCollection;
    @OneToMany(mappedBy = "idOficina")
    private List<EscanerHuellas> escanerHuellasLista;

    public Oficina() {
    }

    public Oficina(Integer idOficina) {
        this.idOficina = idOficina;
    }

    public Integer getIdOficina() {
        return idOficina;
    }

    public void setIdOficina(Integer idOficina) {
        this.idOficina = idOficina;
    }

    public Date getFechaAltaOficina() {
        return fechaAltaOficina;
    }

    public void setFechaAltaOficina(Date fechaAltaOficina) {
        this.fechaAltaOficina = fechaAltaOficina;
    }

    public Date getFechaBajaOficina() {
        return fechaBajaOficina;
    }

    public void setFechaBajaOficina(Date fechaBajaOficina) {
        this.fechaBajaOficina = fechaBajaOficina;
    }

    public String getNombreOficina() {
        return nombreOficina;
    }

    public void setNombreOficina(String nombreOficina) {
        this.nombreOficina = nombreOficina;
    }

    public Integer getNumeroOficina() {
        return numeroOficina;
    }

    public void setNumeroOficina(Integer numeroOficina) {
        this.numeroOficina = numeroOficina;
    }

    public Domicilio getIdDomicilio() {
        return idDomicilio;
    }

    public void setIdDomicilio(Domicilio idDomicilio) {
        this.idDomicilio = idDomicilio;
    }

    public List<Empleado> getEmpleadoCollection() {
        return empleadoCollection;
    }

    public void setEmpleadoCollection(List<Empleado> empleadoCollection) {
        this.empleadoCollection = empleadoCollection;
    }

    public List<EscanerHuellas> getEscanerHuellas() {
        return escanerHuellasLista;
    }

    public void setEscanerHuellas(List<EscanerHuellas> escanerHuellas) {
        this.escanerHuellasLista = escanerHuellas;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idOficina != null ? idOficina.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Oficina)) {
            return false;
        }
        Oficina other = (Oficina) object;
        if ((this.idOficina == null && other.idOficina != null) || (this.idOficina != null && !this.idOficina.equals(other.idOficina))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return nombreOficina;
    }
}
